/* 
font-family-display:"Josefin Sans";
font-family-body: "Montserrat";

Color-Creamy-Creamy-300, #FCF3E8
Color/Grey/Grey-700, #737373
Color/Creamy/Creamy-400, #EEE2C8
Color/Base/White, #FCFCFC
Color/Creamy/Creamy-800,#6E6653
--Color-Green-Green-600,#242711
--Color-Base-Black, #0A1612

*/


* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-family: "Montserrat";
}

body {
  min-width: 320px;
  min-height: 800px;
  width: 100%;
  height: 100%;
  position: relative;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999;
}

.loading .loadingIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 150px;

  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;

}

.loading .loadingIcon::before {
  content: '';
  position: absolute;
  top: 0px;
  background-image: url(../images/2025images/golden_bell-05.png);
  width: 150px;
  height: 150px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  animation: loading-ribbon 3s infinite ease-in-out;
  transform-origin: top center;

}

.loading .loadingIcon img {
  width: 150px;
  display: block;
  transform: rotate(0);
  animation: loading 3s infinite ease-in-out;
  transform-origin: top center;
  /* loading-jump 0.5s ease-out infinite alternate forwards; */
}

@keyframes loading-ribbon {
  0% {
    transform: rotate(0deg);
  }

  10% {
    transform: rotate(10deg);
  }

  20% {
    transform: rotate(-10deg);
  }

  30% {
    transform: rotate(8deg);
  }

  40% {
    transform: rotate(-8deg);
  }

  50% {
    transform: rotate(6deg);
  }

  60% {
    transform: rotate(-6deg);
  }

  70% {
    transform: rotate(4deg);
  }

  80% {
    transform: rotate(-4deg);
  }

  90% {
    transform: rotate(2deg);
  }

  100% {
    transform: rotate(0deg);
  }

}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }

  10% {
    transform: rotate(15deg);
  }

  20% {
    transform: rotate(-15deg);
  }

  30% {
    transform: rotate(10deg);
  }

  40% {
    transform: rotate(-10deg);
  }

  50% {
    transform: rotate(8deg);
  }

  60% {
    transform: rotate(-8deg);
  }

  70% {
    transform: rotate(5deg);
  }

  80% {
    transform: rotate(-5deg);
  }

  90% {
    transform: rotate(2deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

@keyframes loading-jump {
  0% {
    margin-top: 0;
  }

  100% {
    margin-top: -100px;
  }
}

/* outsider */

.outsider_cave_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url("../images/cave_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.3s, opacity 0.3s;
  z-index: 6;
  transform: scale(1);
}

.outsider_cave_layer2 {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../images/cave_layer2.png);
  background-size: 140%;
  /* background-size: cover; */
  background-position: bottom center;
  background-repeat: no-repeat;
  transition: transform 2s ease-out, opacity 2s ease-out;
  z-index: 6;
  transform: scale(1);
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-position-y: 60vh;
  /* max-height: 500px; */
  bottom: 0px;
}

.outsider_cave_ball {
  width: 100%;
  height: 40%;
  position: absolute;
  top: 0px;
  max-height: 500px;
}

.outsider_cave_ball div {
  position: absolute;
  width: 7%;
  min-width: 30px;
  max-width: 40px;
  height: 100%;
  background-image: url(../images/cave_ball1.png);
  background-size: 100% auto;
  background-position: top;
  background-repeat: no-repeat;
  transition: transform 2s ease-out, opacity 2s ease-out;
  z-index: 7;
  transform: scale(1);
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translateY(-82%);
  left: 20%;
  top: 0px;
  max-width: 80px;
}

.show .outsider_cave_ball1 {
  transform: translateY(100px);
}

.show .outsider_cave_ball2 {
  transform: translateY(100px);
}

.show .outsider_cave_ball3 {
  transform: translateY(10px);
}

.show .outsider_cave_ball4 {
  transform: translateY(100px);
}

.show .outsider_cave_ball5 {
  transform: translateY(100px);
}

.show .outsider_cave_ball6 {
  transform: translateY(100px);
}

.clicked .outsider_cave_layer2 {
  transform: scale(1.3);
  opacity: 0;
}

/* .outsider_cave_desc {
  margin-top: -100px;
} */
.outsider_cave_layer2 p {
  font-size: 14px;
  max-width: 400px;
  font-style: normal;
  font-weight: 400;
  color: #fcf3e8;
  font-family: "Montserrat";
  text-align: center;
  line-height: 140%;
  opacity: 1;
  transition: all 0.5s ease-out 0.5s;
  text-shadow: 0px 0px 19px rgba(0, 0, 0, 0.9);
}

.outsider_cave_layer2 .btnWrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.outsider_cave_layer2 .btnWrapper #outsider_caveBtn {
  width: 50%;
  min-width: 250px;
  opacity: 1;
  transition: all 0.5s ease-out;
  color: #fcfcfc;
  font-size: 14px;
  border-radius: 36px;
  border: 1px solid  #98855d;
  background: rgba(252, 243, 232, 0.3);
  text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.85);
}

.outsider_cave_layer2 .btnWrapper #outsider_caveBtn:hover {
  background: rgba(252, 243, 232, 0.5);
}

.outsider_cave_layer2 .btnWrapper #outsider_caveBtn:active {
  background: rgba(252, 243, 232, 0.6);
}

.outside_cave_container {
  width: 100%;
  height: 100%;
  position: absolute;
  transition: transform 2s ease-out, filter 2s ease-in, opacity 2s ease-in;
  z-index: 6;
  transform: scale(1.1);
}

.mainWrapper_tree.clicked {
  /* animation: zoomBlur 2.2s forwards; */

  filter: blur(4px);
  opacity: 0;
}

.mainWrapper_coming_soon_background.clicked {
  /* animation: zoomBlur 2.2s forwards; */
  transform: scale(2);
  filter: blur(4px);
  opacity: 0;
}

.mainWrapper_coming_soon_background {
  position: absolute;
  z-index: 7;
  transition: transform 1s ease-out, filter 1s ease-in, opacity 1s ease-in;
}

.outside_cave_container.clicked {
  /* animation: zoomBlur 2.2s forwards; */
  transform: scale(1.8);
  filter: blur(4px);
  opacity: 0;
}

.tree_layer {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 5;
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  overflow: hidden;
  opacity: 1;
  transition: opacity 2s ease-in 1s;
}

.end.tree_layer {
  opacity: 0;
}

.tree_layer .tree {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url("../images/home_tree_layer.png");
  background-size: auto 120%;
  background-position: bottom center;
  background-repeat: no-repeat;
  z-index: 5;
  transform: scale(0.6);
  opacity: 0;
  overflow: hidden;
  transition: transform 3s ease-out 0s, opacity 2s ease-in 1s;
}

.tree_layer .tree_left {
  position: absolute;

  height: 100%;
  width: 100%;
  aspect-ratio: 559/604;
  background-image: url(../images/cave_tree_left.png);
  background-size: auto 100%;
  background-position: bottom;
  transform: scale(0.6);
  opacity: 0;
  overflow: hidden;
  transition: transform 3.5s ease-out 0s, opacity 2s ease-in 1s;
  /* left: 0px; */
  background-repeat: no-repeat;
  /* background-position-x: -86%; */
  bottom: -18%;
  left: -33%;
}

.tree_layer .tree_right {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../images/cave_tree_right.png);
  background-size: contain;
  background-position: bottom;
  transform: scale(0.6);
  opacity: 0;
  overflow: hidden;
  transition: transform 3.5s ease-out 0s, opacity 2s ease-in 1s;
  /* left: 0px; */
  background-repeat: no-repeat;
  /* background-position-x: -9%; */
  /* background-position-y: -53%; */
  right: -33%;
}

.play.tree_layer .tree {
  transform: scale(1.2);
  opacity: 1;
}

.play.tree_layer .tree_left {
  transform: scale(1.2);
  opacity: 1;
}

.play.tree_layer .tree_right {
  transform: scale(1.2);
  opacity: 1;
}

.end.tree_layer .tree {
  transform: scale(2.5);
  opacity: 0;
}

.end.tree_layer .tree_left {
  transform: scale(1.2) translateX(-100%);
  opacity: 0;
}

.end.tree_layer .tree_right {
  transform: scale(1.2) translateX(100%);
  opacity: 0;
}

.tree_layer_desc {
  top: 22%;
  position: absolute;
  opacity: 0;
  transition: opacity 0.7s ease-in 1s;
}

.play .tree_layer_desc {
  opacity: 1;
}

.end .tree_layer_desc {
  opacity: 0;
}

.tree_layer_desc p {
  max-width: 400px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #fcf3e8;
  font-family: "Montserrat";
  text-align: center;
  line-height: 140%;
  opacity: 1;
  transition: all 0.5s ease-out 0.5s;
  text-shadow: 0px 0px 19px rgba(0, 0, 0, 0.9);
}

/* .visible {
  animation: zoomIn 2s forwards;
} */

.show {
  animation: fadeIn 2s forwards;
}

.discover_more_nav {
  display: none;
}

.mainWrapper_tree {
  height: 100%;

  position: relative;
  top: 0px;

  z-index: 5;
  transition: filter 2s ease-in, opacity 2s ease-in;

  background: linear-gradient(180deg, #0000007d 0%, rgba(0, 0, 0, 0) 100%);
}

.mainWrapper_tree img {
  display: block;
  object-fit: contain;
  height: 100%;
  width: 100%;
  object-position: bottom;
  position: absolute;
}

.mainWrapper_tree .tree {
  transition: transform 2s ease-out, filter 2s ease-in, opacity 2s ease-in;
  z-index: 3;
  background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
}

.monster {
  transition: transform 2s ease-out, filter 2s ease-in, opacity 2s ease-in;
}

.tree.clicked {
  scale: 2;
  filter: blur(4px);
  opacity: 0;
}

.monster.clicked {
  filter: blur(4px);
  opacity: 0;
}

.monster.visible {
  scale: 1 !important;
}

.mainWrapper_tree .monster {
  scale: 0.8;
}

.mainWrapper_tree p {
  color: #fff;
  text-align: center;

  /* Desktop EN/Body - Regular */
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 22.4px */
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 4;
}

.story_desc_2 {
  display: none;
}

.story_desc_2.visble {
  display: block;

  padding: 16px 32px;
  border-radius: 36px;
  background: rgba(10, 22, 18, 0.6);
  position: absolute;
  top: 50%;
  left: 67%;
}

/* mainWrapper */
.mainWrapper {
  width: 100%;
  height: 100%;
  /* position: relative; */
 
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  overflow: hidden;
  /* overflow-y: scroll; */
}

/* coming_soon */
.mainWrapper_coming_soon_background {
  width: 100%;
  height: 100svh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: transparent;
 
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: 50% 60%;
  opacity: 1;

}

.mainWrapper_coming_soon_background.start{
  height: fit-content;
      justify-content: flex-start;

}

.mainWrapper_coming_soon_background.play {
  background-size: auto 150%;
  opacity: 0;
}



.mainWrapper_coming_soon_background_desc p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #fcf3e8;
  font-family: "Montserrat";
  text-align: center;
  line-height: 140%;
  opacity: 1;
  transition: all 0.5s ease-out 0.5s;
  text-shadow: 0px 0px 19px rgba(0, 0, 0, 0.9);
}

.play .mainWrapper_coming_soon_background_desc p {
  opacity: 0;
}

.mainWrapper_coming_soon_background_ball {
  position: relative;
  width: 13%;
  margin: 0 auto;
  opacity: 1;
  transition: opacity 2s ease-in 1s;
  min-width: 100px;
}

.play .mainWrapper_coming_soon_background_ball {
  opacity: 0;
}

.mainWrapper_coming_soon_background_ball .ball {
  display: block;
  position: relative;
  width: 100%;
  transform: rotate(0deg);
  opacity: 1;
  transition: transform 4s ease-in-out;
}

.play .mainWrapper_coming_soon_background_ball .ball {
  transform: rotate(90deg);
}

.mainWrapper_coming_soon_background_ball .shadow {
  display: block;
  width: 100%;
  position: absolute;
  bottom: -13%;
  right: -21%;
}

.mainWrapper_coming_soon_background_title {
  display: flex;
  width: 100%;
  height: 30%;
  justify-content: center;
  align-items: flex-end;
  z-index: 1;
  min-width: 250px;
  opacity: 1;
  transition: all 0.5s ease-out 0.7s;
}

.play .mainWrapper_coming_soon_background_title {
  opacity: 0;
}

/* coming_soon_end */

/* main */



/* .mainWrapper_home_shadow_bg {
  position: absolute;
  left: 0px;

  width: 96%;
  height: 95vw;
  background: linear-gradient(90deg, #2a1b00 0%, rgba(0, 0, 0, 0) 100%);
  mix-blend-mode: multiply;
  z-index: 1;
  rotate: 90deg;
  transform: translate(-44vw, 3px);
} */

/******************Teddy start********************/
.mainWrapper_home img {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.mainWrapper_kv_forest {
  display: block;
  position: relative;
  height: 100%;
}

.mainWrapper_kv_forest .mainWrapper_kv_forest_bg {
  display: block;
  height: 100%;
}

.mainWrapper::-webkit-scrollbar {
  display: none;
}

.mainWrapper_kv_title {
  display: block;
  left: 50%;
  transform: translate(-50%, 0);
  top: 20%;
  height: 30%;
  position: absolute;
  opacity: 0;
  transition: opacity 0.5s ease-in;
}

.end .mainWrapper_kv_title {
  opacity: 1;
}

.mainWrapper_kv_title img {
  display: block;
  height: 100%;
}

.mainWrapper_kv_monster {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
  width: 100%;
  overflow: hidden;
  transition: transform 2s ease-in-out;
}

.mainWrapper_kv_monster_dialog {
  position: absolute;
  top: 33%;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;

  width: 80%;
  overflow: hidden;
}

.mainWrapper_kv_monster_dialog .dialog {
  position: absolute;
  left: 65%;
  top: 0;
  transform: translate(-50%, 0);
  width: 387px;
  aspect-ratio: 387/99;
  white-space: normal;
  text-align: left;
  display: block;
  /* border-radius: 100px; */
  padding: 16px 32px;
  background-image: url(../images/dialog_bg.png);
  background-size: 100% auto;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  color: #fcf3e8;
  font-family: "Montserrat";
  line-height: 140%;
  opacity: 0;
  transition: opacity 1s ease-in-out 0s;

  background-repeat: no-repeat;
}

.story .mainWrapper_kv_monster_dialog .dialog {
  opacity: 1;
  transition: opacity 1s ease-in-out 1s;
}

.story .mainWrapper_kv_monster {
  transform: translate(-50%, 0) scale(1.5);
}

.mainWrapper_kv_monster img {
  display: block;
  height: 100%;
}

.mainWrapper_sparkle_group {
  position: absolute;
  width: 100%;
  top: 30%;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
  overflow: hidden;
}




/* .mainWrapper_kv_monster_button:hover {
  background-color: rgba(238, 226, 200, 0.6);
} */
.btn_workshop {
  right: auto;
  left: 63%;
  bottom: 52%;
  width: 209px;
  /* height: 64px; */
  border-radius: 36px;
  background-color: rgba(238, 226, 200, 0.6);
  border:  #98855d;

  background-image: none;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.btn_to_santa .button_icon {
  display: block;
  width: 60px;
  height: 62px;
  background-image: url(../images/santa_btn_icon.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  border-radius: 100%;
}

.btn_workshop .button_icon {
  display: block;
  height: 100%;
  aspect-ratio: 1/1;
  background-image: url(../images/workshop_btn_icon.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  border-radius: 100%;
}

.mainWrapper_kv_monster_button_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
  position: relative;
  color: #fcf3e8;
  font-family: "Josefin Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  text-align: center;
  user-select: none;
  pointer-events: none;
}



.mainWrapper_kv_garden {
  position: absolute;
  top: 57%;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
  width: 100%;
  overflow: hidden;
}

.mainWrapper_kv_garden img {
  display: block;
  height: 100%;
}

.mainWrapper_kv_wood_button_group {
  position: absolute;
  top: 83%;
  left: 50%;
  transform: translate(-50%, 52px);
  bottom: 0;
  width: 100%;
  /* overflow: hidden; */
  opacity: 0;
  transition: all 0.5s ease-out;
  min-height: 219px;
}

.end .mainWrapper_kv_wood_button_group {
  opacity: 1;
  transform: translate(-50%, -53px);
}


/******************Teddy end********************/
.mainWrapper {
  position: relative;
  /* overflow: hidden; */
}

.mainWrapper_home_title {
  display: flex;
  width: 200%;
  height: 40%;
  justify-content: center;
  align-items: center;

  position: absolute;
  top: 5%;
  z-index: 1;
  min-width: 2000px;
}




.mainWrapper_coming_soon_background.play .btnWrapper #yarnBtn {
  opacity: 0;
}

.mainWrapper_home_title_img {
  width: 50%;
  max-width: 800px;
  min-width: 300px;
}

.mainWrapper_home_title_img img {
  display: block;
  width: 90%;
  max-width: 500px;
}

.mainWrapper_home_forest {
  height: 100%;
  width: 210%;
  background-image: url(../images/forest_background_pp_updated.png);
  background-size: cover;
  background-position: top center;
  position: absolute;
  z-index: 0;
  min-width: 2000px;
  left: -4px;
  top: -25px;
}

.mainWrapper_home_monster {
  width: 210%;
  /* height: 100%; */
  background-image: url(../images/main_monsters_group.png);
  aspect-ratio: 2315 / 642;
  background-position: bottom;
  position: absolute;
  z-index: 2;
  /* background-size: 100% auto; */
  background-repeat: no-repeat;
  bottom: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2000px;
  max-height: 80vh;
}

.mainWrapper_home_garden {
  width: 210%;
  /* height: 100%; */
  background-image: url(../images/main_front_garden.png);
  /* background-size: cover; */
  background-position: top center;
  position: absolute;
  z-index: 3;
  aspect-ratio: 2316 / 384;
  bottom: -1px;
  background-size: 100% auto;
  pointer-events: none;
  min-width: 2000px;
}

.mainWrapper_home_monster_buttonContainer {
  width: 32%;
  aspect-ratio: 2316 / 400;
  position: absolute;
  bottom: 45%;

  z-index: 2;
}

.mainWrapper_home_monster_button {
  display: block;
  width: 30%;
  aspect-ratio: 250/69;
  background-image: url(../images/main_santa_button.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-decoration: none;
}

.mainWrapper_home_monster_button_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 90%;
  position: relative;
}

.mainWrapper_home_monster_button_content p {
  color: #fcf3e8;
  /* Desktop EN/Button */
  font-family: "Josefin Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 19.2px */
  text-align: center;
}

.mainWrapper_home_monster_button_content::after {
  content: "";
  display: block;
  width: 6%;
  aspect-ratio: 1 / 1;
  border: 2px solid #fcf3e8;
  position: absolute;
  right: 10%;
  rotate: 45deg;
  border-bottom: 0px;
  border-left: 0px;
}

.mainWrapper_home_monster_button_content span {
  color: #fcf3e8;
  text-align: center;
  /* Desktop EN/Caption */
  font-family: "Montserrat";
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
}

.workshop_button {
  display: block;
  width: 30%;
  aspect-ratio: 250 / 65;
  background-image: url(../images/main_workshop_button.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-left: 90%;
  display: flex;
}

/* .mainWrapper_home_merchandise_kv {
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url(../images/home_merchandise_monster_kv.png);
  background-size: 100% auto;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: bottom center;
  z-index: 15;
  position: absolute;
  bottom: 5%;
} */

.mainWrapper_home_bottom_buttonContainer {
  width: 200%;
  aspect-ratio: 2316 / 190;
  position: absolute;
  bottom: 5%;
  display: flex;
  justify-content: center;
  z-index: 2;
  gap: 1%;
}

.mainWrapper_home_bottom_button {
  width: 7%;
  aspect-ratio: 173/207;
  background-image: url(../images/woodsign_merchandise_desktop.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
}

.mainWrapper_home_bottom_button a {
  display: block;

  background-size: 100% auto;
  background-repeat: no-repeat;
  aspect-ratio: 98 / 24;
  width: 64%;
  position: absolute;
  left: 32%;
  top: 15%;
}

.sales_button {
  width: 7%;
  aspect-ratio: 173/207;
  background-image: url(../images/woodsign_sales_desktop.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
}

.character_button {
  width: 7%;
  aspect-ratio: 173/207;
  background-image: url(../images/woodsign_character_desktop.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
}

#mainWrapper_home_workshop_button_back {
  padding: 8px 16px;
  justify-content: center;
  align-items: center;
  color: #eee2c8;
  position: absolute;
  bottom: 19%;
  left: 15%;
  transform: translate(-50%, -100%);
  /* transform: translate(-50%, -100%) rotate(2.851deg); */
  background-image: url(../images/monster_workshop_back_button.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  text-decoration: none;
  text-shadow: 0px 0px 5px rgba(42, 25, 5, 0.65);
  z-index: 4;
  width: 7%;
  height: 7%;
}

/* main_end */
.mainWrapper_sparkle {
  display: block;
  width: 25px;
  aspect-ratio: 1/1;
  background-image: url(../images/sparkle.svg);
  position: absolute;
  top: 50%;
  left: 10%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: translate(50%, -100%);
  opacity: 0.2;
}

.mainWrapper_sparkle_2 {
  top: 60%;
  left: 22%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 2s;
}

.mainWrapper_sparkle_3 {
  top: 58%;
  left: 32%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 4s;
}

.mainWrapper_sparkle_4 {
  top: 80%;
  left: 40%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 2s;
}

.mainWrapper_sparkle_5 {
  top: 65%;
  left: 67%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 3s;
}

.mainWrapper_sparkle_6 {
  top: 53%;
  left: 70%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 1s;
}

.mainWrapper_sparkle_7 {
  top: 45%;
  left: 85%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 2s;
}

.mainWrapper_sparkle_8 {
  top: 40%;
  left: 94%;
  animation: sparkleAnimation2 1s infinite,
    floating 4s infinite alternate-reverse ease-in-out 3s;
}

.mainWrapper_sparkle_9 {
  top: 62%;
  left: 87%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 2s;
}

.mainWrapper_sparkle_11 {
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 3s;
}

.mainWrapper_sparkle_10 {
  top: 31%;
  left: 9%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 4s;
}

.mainWrapper_sparkle_12 {
  top: 20%;
  left: 29%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 1s;
}

.mainWrapper_sparkle_13 {
  top: 88%;
  left: 82%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 3s;
}

.mainWrapper_sparkle_14 {
  top: 87%;
  left: 17%;
  animation: sparkleAnimation1 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 1s;
}

.sparkle {
  animation: sparkleAnimation 2s infinite,
    floating 4s infinite alternate-reverse ease-in-out 3s;
}

/* animation */

@keyframes floating {
  0% {
    margin-top: 0;
  }

  100% {
    margin-top: 80px;
  }
}

@keyframes sparkleAnimation1 {
  0% {
    transform: translate(50%, -100%) scale(0.8);
    opacity: 0.9;
  }

  50% {
    transform: translate(50%, -100%) scale(1.1);
    opacity: 1;
  }

  100% {
    transform: translate(50%, -100%) scale(0.8);
    opacity: 0.9;
  }
}

@keyframes sparkleAnimation2 {
  0% {
    transform: translate(50%, -100%) scale(0.9);
    opacity: 0.8;
  }

  50% {
    transform: translate(50%, -100%) scale(1.2);
    opacity: 1;
  }

  100% {
    transform: translate(50%, -100%) scale(0.9);
    opacity: 0.8;
  }
}

@keyframes Out {
  0% {
    transform: scale(1);
    filter: blur(0);
    opacity: 1;
  }

  100% {
    transform: scale(1.8);
    filter: blur(4px);
    opacity: 0;
  }
}

@keyframes zoomBlur {
  0% {
    transform: scale(1);
    filter: blur(0);
    opacity: 1;
  }

  100% {
    transform: scale(1.8);
    filter: blur(4px);
    opacity: 0;
  }
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* login */














#loginForm #loginBtn {
  background: rgba(252, 243, 232, 0.2);
  margin-block: 8px;
  border: 1px solid #98855d;
  cursor: pointer;
}

#loginForm #loginBtn:hover {
  background: rgba(252, 243, 232, 0.3);
}

#loginForm .regDesc {
  width: 100%;
  text-align: center;
  font-family: "Montserrat";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3em;
  color: #fcfcfc;
}



.title_ {
  width: 355px;
  height: 53px;
  background-image: url(../images/title_tag_bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  background-color: transparent;
  display: flex;
  justify-content: center;
  color: #eee2c8;
  text-align: center;
  text-shadow: 0px 0px 4px #dfd3b9;
  font-family: "Josefin Sans";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
}

.btnWrapper {
  width: 100%;
}


.divisionLine2 {
  display: block;
  width: 100%;
  height: 2px;
  background-image: url(../images/santa_grove_seperate_line.svg);
  background-position: center;
  background-color: transparent;
  background-repeat: no-repeat;
}

input [type="text"] {
  height: 40px;
  border-radius: 6px;
  border: 2px solid #e1ded0;
  padding: 10px;
  background: #fcfcfc;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.07);
}

.agreement {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.agreement input {
  margin: 0px;
  margin-right: 5px;
  position: relative;
  accent-color: #98855d;
}





#loginBtn,
#loginEmailBtn {
  background-clip: padding-box;
  margin-block: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#loginForm .btnWrapper,
#loginEmailForm .btnWrapper {
  position: relative;
  overflow: hidden;
  /* height: 44px; */
  border-radius: 36px;
  padding-inline: 2px;
  padding-block: 2px;

}



@keyframes rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
    margin-top: 6%;
  }

  25% {
    margin-top: 0;
    transform: translate(-18%, -50%) rotate(70deg);
  }

  50% {
    margin-top: -6%;
    transform: translate(-50%, -50%) rotate(180deg);
  }

  75% {
    margin-top: 0;

    transform: translate(-82%, -50%) rotate(250deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
    margin-top: 6%;
  }
}




/* mobile login  */
/* .popupTitle {
    text-align: center;
    font-family: "Josefin Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    color: #eee2c8;
    text-shadow: 0px 0px 4px #dfd3b9;
    position: relative;
    margin-top: 29px;
}

.popupTitle::before {
    content: "";
    display: block;
    width: 36px;
    aspect-ratio: 1 / 1;
    background-image: url(../images/login_xmas_tree.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    position: absolute;
    top: -120%;
    left: 50%;
    transform: translateX(-50%);
}

#loginForm {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#loginForm label {
    font-family: "Montserrat";
    font-size: 9px;
    font-style: normal;
    font-weight: 400;
    color: #fcfcfc;
    margin-bottom: -10px;
}

#loginForm input[type="text"] {
    width: 100%;
    height: 16px;
    border-radius: 16px;
    border-width: 0px;
    outline-color: #e5d2a9;
    padding-left: 16px;
    color: #6e6653;
    font-family: "Montserrat";
}

.loginPopup_popupInner_checkbox span {
    font-family: "Montserrat";
    font-size: 8px;
    font-style: normal;
    font-weight: 400;
    color: #fcfcfc;
}

#loginForm .btnWrapper {
    position: relative;
    overflow: hidden;
    height: 24px;
    border-radius: 36px;
    padding-inline: 2px;
    padding-block: 2px;
}

#loginForm .regDesc {
    width: 100%;
    text-align: center;
    font-family: "Montserrat";
    font-size: 8px;
    font-style: normal;
    font-weight: 400;
    color: #fcfcfc;
}

#loginForm button {
    width: 100%;
    height: 23px;
    border-radius: 16px;
    border-width: 0px;
    display: block;
    text-align: center;
    font-family: "Josefin Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    background: linear-gradient(0deg, #98855d 0%, #b8a16f 50%);
    color: #fcfcfc;
    background-clip: padding-box;
    position: relative;
} */

/* login_priority */




#loginFormPriotiry {
  display: flex;
  flex-direction: column;
  width: 80%;
  gap: 24px;
  min-width: 200px;
}

#loginFormPriotiry label {
  color: #fcfcfc;
  font-family: "Montserrat";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: -20px;
}

.deco_gold_star {
  display: block;
  width: 2%;
  aspect-ratio: 48/59;
  background-image: url(../images/deco_start_gold_big.png);
  background-repeat: no-repeat;
  background-size: 100% auto;

  position: absolute;
  left: 3%;
  bottom: 6%;
  animation: 3s bounceRe ease-in-out infinite;
}

.deco_yellow_star {
  display: block;
  width: 1%;
  aspect-ratio: 1 / 1;
  background-image: url(../images/deco_star_yellow_small.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 2%;
  bottom: 12%;
  animation: 3.2s bounce ease-in-out infinite;
}

@keyframes bounce {
  0% {
    transform: translateY(80%);
  }

  50% {
    transform: translateY(-80%);
  }

  100% {
    transform: translateY(80%);
  }
}

@keyframes bounceRe {
  0% {
    transform: translateY(50%);
  }

  50% {
    transform: translateY(-50%);
  }

  100% {
    transform: translateY(50%);
  }
}

@keyframes swing {
  0% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(5deg);
  }
}

.login_mobile_container {
  display: flex;
  margin-bottom: 12px;
  margin-top: 5px;
}

/* mobile */
.mainWrapper_home_monster {
  width: 210%;

  background-image: url(../images/main_monsters_group.png);
  aspect-ratio: 2315 / 642;
  background-position: bottom;
  position: absolute;
  z-index: 2;
  background-size: 75% auto;
  background-repeat: no-repeat;
  bottom: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2000px;
  max-height: 80vh;
}

.mainWrapper_home_title_img {
  width: 35%;
  max-width: 800px;
  display: flex;
  justify-content: center;
}

/* 
.mainWrapper_home {
 
    height: 100%;
    display: flex;
    position: relative;
    background-image: url(../images/forest_background_pp_updated.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    overflow-x: hidden;
    overflow-y: hidden;
    white-space: nowrap;
    cursor: grab;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
    max-height: 685px;
} */

/* .mainWrapper_home_title_img {
    width: 18%;
    aspect-ratio: 531 / 234;
    background-image: url(../images/title_christmas_ville.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    max-width: 800px;
} */



.checkmark {
  position: absolute;
  top: 0px;
  left: 0;
  height: 13px;
  width: 13px;
  background-color: transparent;
  border: 1px solid #b8a16f;
  border-radius: 3px;
  display: block;
}

.popupContainer .goldButton {
  margin-block: unset;
}



.login_mobile_container select {
  border-radius: 6px;
  margin-right: 8px;
  width: 100px;
  padding-left: 10px;
}



.play #skipBtn {
  opacity: 0;
}







.popupContainer #loginFormPriotiry .btnWrapper {
  margin-top: 0px;
}


.unpayment.cartBtn span {
  display: block;
  width: 44px;
  height: 44px;
  aspect-ratio: 1 / 1;
  /* height: 24px; */
  background-image: url(../images/icn_cart_black.svg);
  background-size: 24px;
  background-repeat: no-repeat;
  border: 1px solid;
  border-radius: 100%;
  background-position: center;
  background-color: #fcf3e8;
}

.unpayment p {
  font-size: 12px;
  /* display: inline-block; */
  /* width: 60px; */
  width: fit-content;
  text-align: center;
  /* height: 100%; */
  margin: auto;
  color: #fcfcfc;
  text-shadow: 0px 0px 4px #dfd3b9;
  text-align: left;
  padding-left: 12px;
}

.unpayment.cartBtn {
  width: 128px;
  margin-left: 7px;
  display: flex;
  border-radius: 46px;
  height: 46px;
  padding: 0px;
  background: linear-gradient(0deg, #98855d 0%, #b8a16f 50%);
}



.stripe_remark {
  margin-bottom: 32px;
 color: #737373;
text-align: center;

/* EN/Body Small - Regular */
font-family: Inter;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 130%; /* 15.6px */
  /* 18px */
}

.stripe_remark a{
color: #737373;
text-align: center;

/* EN/Body Small - Regular */
font-family: Inter;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 130%; /* 15.6px */
text-decoration: underline;
}

@media (max-width: 960px) {
 

  /* .errorAlertPopup {
    width:  566px;
    height: 382px;
    position: absolute;
    left: 50%;
    top: 50%;
    background-image: url(../images/timesup_popup_bg.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
    transform: translate(-50%, 0%);
  } */
 

  header {
    padding: 0px 7%;
  }

  .btn_to_santa .button_icon {
    width: 72px;
    height: 62px;
  }

  .mainWrapper_kv_wood_button_group {
    display: none;
  }

  .mainWrapper_coming_soon_background_desc {
    max-width: 360px;
  }

  .outsider_cave_layer2 p {
    max-width: 320px;
  }

  .tree_layer_desc p {
    max-width: 320px;
  }

  .mainWrapper_kv_monster_dialog .dialog {
    left: 45%;
    top: auto;
    bottom: 43%;
  }

  .mainWrapper_kv_monster_dialog .dialog {
    position: absolute;
    right: 0%;
    left: 50%;
    top: 0%;

    transform: translate(-50%, 0);
    width: 349px;
    aspect-ratio: 387 / 99;
    white-space: normal;
    text-align: left;
    display: block;
    /* border-radius: 100px; */
    padding: 16px 21px;
    background-image: url(../images/dialog_bg_mobile.png);
    background-size: 100% auto;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #fcf3e8;
    font-family: "Montserrat";
    line-height: 140%;
    opacity: 0;
    transition: opacity 1s ease-in-out 0s;
    /* height: 99px; */
    background-repeat: no-repeat;
  }

  .mainWrapper_kv_monster_dialog {
    /* top:auto; */
    top: 18%;
    height: 100%;
    width: 80%;
  }

  .mainWrapper_kv_title {
    top: 26%;
    height: 18%;
  }



  /* .mainWrapper {
    overflow-y: scroll;
  } */

  

 
  





  .home .popupContent::before {
    content: none;
  }

  .loginPopup .popupInner {
    padding: 0 20px;
  }

  .popupTitle {
    font-size: 20px;
  }



  #loginFormPriotiry {
    display: flex;
    flex-direction: column;
    width: 90%;
    gap: 24px;
    min-width: 200px;
  }

  .loginFormPriotiry .popupContainer .btnWrapper {
    margin-top: 0px;
  }


 
  

  .deco_ball_container {
    width: 100%;
    position: relative;
    min-height: 150px;
    display: flex;
  }

  .deco1 {
    left: 0%;
  }

  .deco2 {
    left: 10%;
  }
.loginPopup
  .deco3 {
    left: 50%;
  }

  .deco4 {
    left: 90%;
  }

  .outsider_cave_ball div {
    position: absolute;
    width: 7%;
    min-width: 34px;
    height: 100%;
    background-image: url(../images/cave_ball1.png);
    background-size: 100% auto;
    background-position: top;
    background-repeat: no-repeat;
    transition: transform 2s ease-out, opacity 2s ease-out;
    z-index: 7;
    transform: scale(1);
    opacity: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateY(-82%);
    left: 12%;
  }

  .show .outsider_cave_ball1 {
    transform: translateY(80px);
  }

  .outsider_cave_ball .outsider_cave_ball2 {
    background-image: url(../images/cave_ball2.png);
    width: 6%;
    min-width: 40px;
    transform: translateY(-84%);
    left: 22%;
    transition: transform 1.8s ease-out, opacity 2s ease-out;
  }

  .show .outsider_cave_ball2 {
    transform: translateY(80px);
  }

  .outsider_cave_ball .outsider_cave_ball3 {
    background-image: url(../images/cave_ball3.png);
    width: 5%;
    min-width: 40px;
    transform: translateY(-84%);
    left: 32%;
    transition: transform 1.9s ease-out, opacity 2s ease-out;
  }

  .show .outsider_cave_ball3 {
    transform: translateY(80px);
  }

  .outsider_cave_ball .outsider_cave_ball5 {
    background-image: url(../images/cave_ball5.png);
    width: 6%;
    min-width: 50px;
    transform: translateY(-84%);
    left: 61%;
    transition: transform 1.7s ease-out, opacity 2s ease-out;
  }

  .show .outsider_cave_ball5 {
    transform: translateY(80px);
  }

  .outsider_cave_ball .outsider_cave_ball4 {
    background-image: url(../images/cave_ball4.png);
    width: 6%;
    min-width: 60px;
    transform: translateY(-84%);
    left: 45%;
    transition: transform 1.5s ease-out, opacity 2s ease-out;
  }

  .show .outsider_cave_ball4 {
    transform: translateY(80px);
  }

  .outsider_cave_ball .outsider_cave_ball6 {
    background-image: url(../images/cave_ball6.png);
    width: 4%;
    min-width: 40px;
    transform: translateY(-84%);
    left: 74%;
    transition: transform 2s ease-out, opacity 2s ease-out;
  }

  .show .outsider_cave_ball6 {
    transform: translateY(80px);
  }
}

@media (max-width: 640px) {
  .tree_layer .tree_left {
    position: absolute;

    height: 100%;
    width: 100%;
    aspect-ratio: 559/604;
    background-image: url(../images/cave_tree_left.png);
    background-size: auto 100%;
    background-position: bottom right;
    transform: scale(0.6);
    opacity: 0;
    overflow: hidden;
    transition: transform 3.5s ease-out 0s, opacity 2s ease-in 1s;
    /* left: 0px; */
    background-repeat: no-repeat;
    /* background-position-x: -86%; */
    bottom: -18%;
    left: -33%;
  }
}


